home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / cdplay1a / cdaudio.cls < prev    next >
Text File  |  1999-09-19  |  4KB  |  136 lines

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4.   Persistable = 0  'NotPersistable
  5.   DataBindingBehavior = 0  'vbNone
  6.   DataSourceBehavior  = 0  'vbNone
  7.   MTSTransactionMode  = 0  'NotAnMTSObject
  8. END
  9. Attribute VB_Name = "CDAudio"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. Private Declare Function mciGetErrorString Lib "winmm.dll" Alias "mciGetErrorStringA" (ByVal dwError As Long, ByVal lpstrBuffer As String, ByVal uLength As Long) As Long
  15. Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
  16.     
  17. Function StartPlay()
  18.     mciSendString "play cd", 0, 0, 0
  19. End Function
  20.  
  21. Function SetTrack(Track%)
  22.     mciSendString "seek cd to " & Str(Track), 0, 0, 0
  23. End Function
  24.  
  25. Function StopPlay()
  26.     mciSendString "stop cd wait", 0, 0, 0
  27. End Function
  28.  
  29. Function PausePlay()
  30.     mciSendString "pause cd", 0, 0, 0
  31. End Function
  32.  
  33. Function EjectCD()
  34.     mciSendString "set cd door open", 0, 0, 0
  35. End Function
  36.  
  37. Function CloseCD()
  38.     mciSendString "set cd door closed", 0, 0, 0
  39. End Function
  40.  
  41. Function UnloadAll()
  42.     mciSendString "close all", 0, 0, 0
  43. End Function
  44.  
  45. Function SetCDPlayerReady()
  46.     mciSendString "open cdaudio alias cd wait shareable", 0, 0, 0
  47. End Function
  48. Function SetFormat_tmsf()
  49.     mciSendString "set cd time format tmsf wait", 0, 0, 0
  50. End Function
  51.  
  52. Function SetFormat_milliseconds()
  53.     mciSendString "set cd time format milliseconds", 0, 0, 0
  54. End Function
  55.  
  56. Function CheckCD%()
  57.     Dim s As String * 30
  58.     mciSendString "status cd media present", s, Len(s), 0
  59.     CheckCD = s
  60. End Function
  61.  
  62. Function GetNumTracks%()
  63.     Dim s As String * 30
  64.     mciSendString "status cd number of tracks wait", s, Len(s), 0
  65.     GetNumTracks = CInt(Mid$(s, 1, 2))
  66. End Function
  67.  
  68. Function GetCDLength$()
  69.     Dim s As String * 30
  70.     mciSendString "status cd length wait", s, Len(s), 0
  71.     GetCDLength = s
  72. End Function
  73.  
  74. Function GetTrackLength$(TrackNum%)
  75.     Dim s As String * 30
  76.     mciSendString "status cd length track " & TrackNum, s, Len(s), 0
  77.     GetTrackLength = s
  78. End Function
  79.  
  80. Sub GetCDPosition(Track%, Min%, Sec%)
  81.     Dim s As String * 30
  82.     mciSendString "status cd position", s, Len(s), 0
  83.     Track = CInt(Mid$(s, 1, 2))
  84.     Min = CInt(Mid$(s, 4, 2))
  85.     Sec = CInt(Mid$(s, 7, 2))
  86. End Sub
  87.  
  88. Function CheckIfPlaying%()
  89.     CheckIfPlaying = 0
  90.     Dim s As String * 30
  91.     mciSendString "status cd mode", s, Len(s), 0
  92.     If Mid$(s, 1, 7) = "playing" Then CheckIfPlaying = 1
  93. End Function
  94.  
  95. '|---------------------|
  96. '|---Automated Tasks---|
  97. 'V---------------------V
  98.  
  99. Function SeekCDtoX(Track%)
  100.     StopPlay
  101.     SetTrack Track
  102.     StartPlay
  103. End Function
  104.  
  105. Function ReadyDevice()
  106.     UnloadAll
  107.     SetCDPlayerReady
  108.     SetFormat_tmsf
  109. End Function
  110.  
  111. Function FastForward(Spd%)
  112.     Dim s As String * 40
  113.     SetFormat_milliseconds
  114.     mciSendString "status cd position wait", s, Len(s), 0
  115.     CheckIfPlaying%
  116.     If CheckIfPlaying = 1 Then
  117.         mciSendString "play cd from " & CStr(CLng(s) + Spd), 0, 0, 0
  118.     Else
  119.         mciSendString "seek cd to " & CStr(CLng(s) + Spd), 0, 0, 0
  120.     End If
  121.     SetFormat_tmsf
  122. End Function
  123.  
  124. Function ReWind(Spd%)
  125.     Dim s As String * 40
  126.     SetFormat_milliseconds
  127.     mciSendString "status cd position wait", s, Len(s), 0
  128.     CheckIfPlaying%
  129.     If CheckIfPlaying = 1 Then
  130.         mciSendString "play cd from " & CStr(CLng(s) - Spd), 0, 0, 0
  131.     Else
  132.         mciSendString "seek cd to " & CStr(CLng(s) - Spd), 0, 0, 0
  133.     End If
  134.     SetFormat_tmsf
  135. End Function
  136.